package cn.csust.net2.manager.shared.service;

import cn.csust.net2.manager.shared.po.Research;
import cn.csust.net2.manager.shared.po.ResearchAnswer;
import cn.csust.net2.manager.shared.po.ResearchResult;
import cn.csust.net2.manager.shared.po.ResearchTitle;
import cn.csust.net2.manager.shared.util.ServiceConstant;

import com.extjs.gxt.ui.client.data.PagingLoadConfig;
import com.extjs.gxt.ui.client.data.PagingLoadResult;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;


@RemoteServiceRelativePath(value = ServiceConstant.MANAGER+ServiceConstant.SERVICE_NAME_RESEARCHCOMMON)
public interface ResearchCommonServiceAsync extends BaseServiceAsync{

	void findResearchsByPaging(PagingLoadConfig config,AsyncCallback<PagingLoadResult<Research>> callback);
	
	void findResearchResultsByPaging(PagingLoadConfig config,AsyncCallback<PagingLoadResult<ResearchResult> > callback);
	
	void findResearchAnswersByPaging(PagingLoadConfig config,AsyncCallback<PagingLoadResult<ResearchAnswer>> callback);
	
	void saveStudent_ResearchByPaging(PagingLoadConfig config,AsyncCallback<Void> callback);
	
	void findStudent_ResearchByPaging(PagingLoadConfig config,AsyncCallback<PagingLoadResult<Long>> callback);
	
	void findResearchResultsByAnswerID(Long l,AsyncCallback<Integer> callback);
	
	void hasResearchResultsByStudnetNumber(Long l,AsyncCallback<Boolean> callback);
	
	void findResearchTitlesByPaging(PagingLoadConfig config,AsyncCallback<PagingLoadResult<ResearchTitle>> callback );
	
}
